title: Git Log
date: 2013-01-07 10:51:37
categories:
git log --merges --after="2022-10-13" --oneline --decorate
git log --after="2022-10-13" --oneline --decorate
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --all --after '10-13-2022' --merges
查看历史版本记录–指定显示条数
同时,与git log相同的是,git reflog也提供了控制显示条数的选项:
命令:git reflog -n
有些时候需要解析分支,tag,或者其他对于提交的间接引用。对于这种情况,你可以使用git rev-parse
命令。下面的命令返回指向development
分支的提交哈希串。
git rev-parse development
这对于编写只接受提交ID作为参数的自定义脚本非常有用。你可以使用git rev-parse
命令来标准化脚本的输入,进而进入对于提交的统一处理。这就避免了脚本用户需要手动解析提交的引用。
想要将此哈希串作为参数传递给其他Git命令,只需要提供足够长度的字符串就可以了。比如说,你可以通过下面的命令来传入上面的哈希串,以便使用git show
命令查看那次提交的具体内容。
git show 0c708f
git show -s --oneline 3d21461a7ef205ed0cee0baf45e95e782f4e84af
git branch --contains eb0633b76925041f84b592a2e261e0b8537953f7 -r # -r标识远程分支
branchResultForFisrtCommit=$(git branch --contains "${firstCommitId}" -r)
echo "${branchResultForFisrtCommit}"
branchArrayForFisrtCommit=(${branchResultForFisrtCommit})
branchCountForFisrtCommit=${#branchArrayForFisrtCommit[@]}
echo "branchCountForFisrtCommit=$branchCountForFisrtCommit"
for ((i=0;i<branchCountForFisrtCommit;i+=1))
{
branchName=${branchArrayForFisrtCommit[i]}
echo "branchName=${branchName}"
}
echo "\n------下面开始获取firstCommitId:${firstCommitId}的提交所属的根源远程功能分支名------"
sourceBranchForFisrtCommit=${branchArrayForFisrtCommit[${branchCountForFisrtCommit}-1]}
echo "sourceBranchForFisrtCommit=${sourceBranchForFisrtCommit}"